package com.ioftv.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 标注员任务包实体类
 */
@Data
@TableName("labeler_task_package")
public class LabelerTaskPackage implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 标注员姓名
     */
    private String labelerName;

    /**
     * 领取时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime receiveTime;

    /**
     * 账号
     */
    private String account;

    /**
     * 任务批次
     */
    private String taskBatch;

    /**
     * 提包Id
     */
    private String packageId;

    /**
     * 交付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime deliveryTime;

    /**
     * 交付框数
     */
    private Integer deliveryBoxCount;

    /**
     * 返修次数
     */
    private Integer repairCount;

    /**
     * 最终框数
     */
    private Integer finalBoxCount;

    /**
     * 状态(进行中/已完成/已返修)
     */
    private String status;

    /**
     * 用户ID（数据隔离字段）
     */
    private Long userId;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
}